package com.shopping.mall.core.module.cart.service;

import com.shopping.mall.base.http.Result;
import com.shopping.mall.core.module.cart.entity.Cart;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shopping.mall.core.module.cart.entity.CartList;

import java.util.List;

/**
 * <p>
 * Cart服务类
 * </p>
 *
 * @author zzy
 * @date 2021-08-15
 */
public interface CartService extends IService<Cart> {

    /**
    * 分页查询
    * @param current：页码
    * @param size：每页条数
    * @param cart：筛选条件
    * @return IPage<Cart>
    */
    IPage<Cart> getCartPage(Integer current,Integer size,Cart cart);

    /**
    * 查询所有
    * @param cart ：筛选条件
    * @return List<Cart>
    */
    CartList getAll(Cart cart);

    /**
    * 通过id删除
    * @param id：cartId
    * @return Result<Object>
    */
    Result<Object> deleteById(String id);

    /**
    * 批量删除
    * @param ids：id列表
    * @return Result<Object>
    */
    Result<Object> batchDelete(List<String> ids);

    /**
     * 添加购物车
     * @param cart ：商品
     */
    Result<Object> add(Cart cart);

    CartList getAll();

    CartList getByIds(List<String> cartIds);
}
